package com.example.JavaWebApi.model.entity.systemEntity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.JavaWebApi.core.reflect.annotation.ChildrenNode;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * @program: adks.process-api
 * @description: 字典实体
 * @author: 杨泽
 * @create: 2022-05-05 16:56
 */
@Data
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.ALWAYS)
@TableName("sys_dictionary")
public class Dictionary implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "ID")
    private int id;
    @TableField(value = "Name")
    private String name;
    @TableField(value = "Value")
    private String value;
    @TableField(value = "Remark")
    private String remark;
    @TableField(value = "ParentID")
    private Integer parentId;
    @TableField(value = "Code")
    private String code;
    @TableField(value = "SortNO")
    private Integer sortNO;
    @TableField(value = "IsDelete")
    private int isDelete;
    @TableField(value = "DisplayType")
    private String displayType;
    @TableField(value = "TagType")
    private String tagType;
    @TableField(value = "TagTheme")
    private String tagTheme;
    @ChildrenNode
    @TableField(exist = false)
    private List<Dictionary> children;
    @TableField(exist = false)
    private boolean hasChildren;

}